\section{Other Methods for Ranking}
We thought of using page rank and HITS to make the ranking better, but because of problems implementing tf-idf scoring we did not come around for doing so. Therefore we have made this section describing how it could have been implemented.

Page rank could have been interesting to implement. It works by placing a number of surfers on a single random site, that you have crawl, and let them "randomly" move to other sites via the links on the site the surfer is residing on. After some iterations of the function the surfers would have distributed themselves on the sites and the number of surfers on each site would not change very much when the function is called again. At this point the number of surfer on a specific site would be the page rank for the given site. A more refined method is to create a transition probability matrix that describes the probabilities for moving to each of sites from a given site. Since seeing how random surfers will be distributed around the site could be interesting and help with raking.

HITS is a method for ranking sites to implement. The general idea is to find the site that are authority, sites that have many other sites linking to it, and hubs, sites that are linking to many sites. A hub must also have a high authority and is determined by the number of authority sites that the hub is linking too. For a site to have a high prestige is must have prestige hubs linking to it and for hub to be prestige it must link to sites with a high prestige. 

For simplicity, prestige and Page Rank could have been made in each own class and is then being used in the ranker class for giving a better ranking of the search result.